// <copyright file="DungeonGenerator.SharedProperties.cs" company="TenneySoftware">
// Copyright (c) 2009 All Right Reserved
// </copyright>
// <author>Robert Tenney</author>
// <email>rob10e@yahoo.com</email>
// <date>April 2009</date>
// <summary>Dungeon level generator.</summary>

// License:

// Product: RPGRoguelikeEngine .Net
// Author: Robert N. Tenney
// Copyright: April 2009

// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation version 2
// of the License.

// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.

// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

// This license covers all source code, binaries, and other materials related to this project
// unless specifically stated otherwise.

using System;
using System.Collections.Generic;
using System.Drawing;

using TenneySoftware.Engine;

namespace TenneySoftware.LevelGenerator.DungeonGenerator {
    /// <content>
    /// This file contains the Shared (Defined within ILevelGenerator interface) properties for the generator.
    /// </content>
    public partial class Dungeon {
        /// <summary>
        /// Gets the name associated with a predfined type.
        /// </summary>
        /// <value>
        /// The name associated with a predfined type.
        /// </value>
        public string SettingsName {
            get {
                return this.settingName;
            }
        }

        /// <summary>
        /// Gets the name of this module.
        /// </summary>
        /// <value>
        /// The name of this module.
        /// </value>
        public string ModuleName {
            get {
                return "Dungeon";
            }
        }

        /// <summary>
        /// Gets the description of this module.
        /// </summary>
        /// <value>
        /// The description of this module.
        /// </value>
        public string ModuleDescription {
            get {
                return "Dungeon Generator generates a variety of 'dungeon' levels.";
            }
        }

        /// <summary>
        /// Gets or sets the seed for the random number generator to use.
        /// </summary>
        /// <value>
        /// The seed for the random number generator to use.
        /// </value>
        public int RandomSeed {
            get {
                return this.seed;
            }
            
            set {
                this.seed = value;
            }
        }

        /// <summary>
        /// Gets the level as an array of TileData.
        /// </summary>
        /// <value>Returns the level.</value>
        public Level Level {
            get {
                return this.level;
            }
        }
    }
}